To illustrate the intended range of applicability of the present invention, it is helpful to divide into several categories the types of images which video display terminals may be capable of presenting. These are listed below, generally in increasing order of complexity.
The most basic type of image is typewriter text consisting entirely of characters found on typical typewriters. These characters are all of the same size and no provision is made for varying the spacing between them. Some very simple types of graphic images may be made available in such machines by building in certain special characters (such as line segments) which can be used to construct boxes, lines and so forth. Examples of such terminals are the models VT52 and VT100 terminals sold by Digital Equipment Corporation of Maynard, Mass.
The next level of image complexity is represented by line graphs. Such images consist of typewriter text plus the ability to present a fixed number of x/y data plots using a fixed number of data representations, such as point plots, bar graphs and line charts. Exemplary terminals with this level of capability are the models VT55 and VT105 terminals, also sold by Digital Equipment Corporation.
A third level of image complexity is represented by images containing typewriter text plus basic line art. Images of this type consist of typewriter text, as defined above, and also allow fairly general line art images such as flow charts, block diagrams, PERT charts, and so forth. The majority of graphics terminals on the market today have this level of capability. Examples are several of the terminals sold by Tektronix Company of Beavertown, Ore., the HP 27XX Family of terminals sold by Hewlett-Packard Company and the IBM 3279 and many Ramtek Corp, terminals.
General line art images represent a next level of complexity. Such images consist of line art drawings, with text to be written in a fairly general fashion. For example, text may be written in a variety of sizes and fonts (including foreign and scientific alphabets). In addition, characters may be displayed in a variety of italic slants, at arbitrary angles, with variable spacing (uniform expansion or contraction of characters on a line), and with proportional spacing (i.e., with spacing between characters in a word, varying according to character width). Characters may also be written by arbitrary overstriking, in subscript and superscript positions, and with a wide variety of other textual features found in textbooks and other typeset documents. The present invention was developed for this level of complexity.
Generally the most complex level of imaging is represented by photographic type images, which are defined as images of a type which any camera is capable of taking. This level of imaging capability is usually used for image processing (i.e., analysis of data taken by actual cameras) and for the development of realistic cartoons and animations.
While various types of electronic display devices are available, the popularity of the raster-scan display has been increasing in recent years, particularly for computer terminal applications. The present invention relates principally to that type of display device. Strictly speaking the term "raster scan" implies that the image is scanned onto the screen surface in a raster sequence--i.e., as a succession of equidistant scan lines, each scan line being made up of a series of picture elements, or pixels. Nevertheless, for purposes of this explanation, other types of displays are included under the heading raster scan, even though no such scanning out takes place, since the invention is not directed at any particular display refresh methodology.
Various architectures are available for creating the pixel pattern on a display. For purposes of comparing the present invention to the prior art, four types of architectures are relevant: fixed character architecture, variable character cell architecture, bit-map architecture, and combined character/bit map architecture.
In fixed character machines (of which current typewriter text level imaging terminals are an example), the visible viewing area of the display is broken up into a coarse grid of C horizontal character positions (or columns) and R vertical text lines (or rows). The values C=80 and R=24 are typical for many of the current machines used for computer programming and general interactive computing. Very simple terminals, such as home computers, have values of these parameters as low as C=24 and R=10, which is consistent with the resolution capabilities of the standard color television receivers which are used as the display devices for many of such machines. The image forming circuitry for these machines generally consists of two memories in a sort of hierarchy. The first, or refresh, memory is a random access memory (RAM) which has one storage location for each of the major grid positions. The second, or character, memory is a read only memory (ROM) which contains the definition of the rectangular pixel arrays used to present the visual pattern defining each of the characters available in the character set. These character patterns are generally referred to as "cells".
In these devices, the image is drawn by writing into each refresh memory location the unique code for the character pattern desired to be displayed at each visual location of the display. For example, if the display is to be shown as a blank "sheet of paper" (i.e., "cleared"), then the code for the blank character is written into each of the refresh memory locations. During the refresh phase of machine operation, which of course takes place continuously, the contents of the refresh memory are read out in sequence from consecutive locations. For each code read out of the refresh memory, the visual pattern for the corresponding cell pattern is read out of the ROM and used to control the intensity of the CRT image by the simple mechanism of turning on the appropriate beam when a cell entry bit is a logical "1" and turning off the beam (i.e., providing a "black" intensity level) when the cell entry bit is a logical "0".
Because of the fixed coarse grid arrangement, this architecture limits the imaging level to typewriter text capability, and the use of a fixed cell definition memory. Character spacing is restricted by the fixed horizontal positions, character size is constrained to the size of the fixed coarse grid size, the display of subscripted characters is prohibited and it is very difficult to display circles and numerous other objects.
The second design approach, variable character cell architecture, involves an extension of the fixed character architecture which allows the presentation of simple line graphs and (in some cases) text plus line art type graphics. In this approach, the number of bits in each of the refresh memory locations is increased so that the hardware can access several possible cell pattern definition memories. Usually one of these cell definition memories is still a ROM, so that the typewriter text image capability is maintained. The other cell definition memories are RAM's; thus a fairly general image may be formed by first writing bit patterns into the redefinable character memories and then writing the codes for these new "character" patterns into the refresh memory at the locations where they are to be shown. For example, to draw a circle on these machines, the circumference of the circle is broken up into sections small enough so that each will fit into the definition of a cell (this may take as many as 100 cells); then the code for each of these cells is written into the refresh RAM at the location where its segment is to be displayed. Visually the pieces of the circle seem to all fit together, and the user is not aware that the image was pieced together.
Variable character cell architecture has the advantage of requiring relatively little memory, but it still limits the presentation of text to the typewriter level. A principal disadvantage to this approach is that the algorithms for drawing the images are generally quite complex. Consider, for example, what happens when two straight lines cross. The definition of the cell must be read out of the memory then modified and written back into the memory. For this reason, the cells for these types of machines are either generated on a host computer or in the local controller of the machine, which is generally relatively slow.
The third basic type of architecture is termed the bit-map approach. These machines take a fairly direct route to forming the image, by eliminating the cell definition memory and making the refresh memory large enough so that each possible pixel location has a corresponding location in the memory. An image for this type of device is drawn by writing a logical "1" into those memory positions for which the image is to be visible or writing the color code into that location in the case of a photographic type image.
This architecture can be used to provide the general text writing features described in relation to the present invention, since characters can be written at any location and at any size. However, the image forming process is relatively slow for normal text writing and considerably more memory and other hardware is required.
Because the display of a photographic type image does not normally require as many horizontal pixels as are needed for displaying 80 columns of text, these machines are often limited to about 512 horizontal pixel locations (about 64 horizontal character locations). Also, the drawing of line art type images is usually faster in these machines than in variable character machines, since the images do not have to be broken up into cell sections.
The fourth of the above-listed approaches involves a combination of the character and bit-map techniques. Such machines attempt to get the advantages of both the relatively low cost and speed of the fixed character architecture and the general capability and display versatility of the bit-map approach; they do this by simply combining the two machines into one and "or-ing" the image produced by each part into one visible image. This approach is typical of many of the more advanced computer terminals which are currently available. The relative disadvantages are that it becomes difficult to maintain registration between images written using the bit-map section and text characters whose locations are constrained by the character grid. Further, the text displayed is limited to typewriter text.
Digressing briefly, it should be understood that each of the foregoing approaches to display generation is the best choice for certain types of applications and certain levels of cost. In this regard, the present invention fills an important gap between the limited character-oriented machines and the general bit-map machines for many applications where very general text and graphics capabilities can be used to advantage. Such applications include, but are not limited to, the preparation of reports which require the integration of text and drawings, charts and the like, and the making of formal presentations, wherein the more general text capabilities provided by the invention can be used to enhance visual interest. Among other things, display mathematical formulas and the like which are difficult to generate with the simpler afchitectures are easily displayed with this architecture.